home *** CD-ROM | disk | FTP | other *** search
/ Star Trek - Starship Creator / CREATOR.ISO / mac / Starship Creator / WRITING Part II < prev   
Text File  |  1998-09-29  |  13KB  |  329 lines

  1. Continued from "Writing Part One"
  2.  
  3.  
  4. StarShip Mission Language
  5.  
  6. 3.
  7. MAP TAGS
  8.  
  9. As you've seen, the normal structure of a message tag is:
  10. <MSG23 = Captain, what shall we do now?>
  11. This presents the text message as a log entry on the screen.
  12.  
  13. You may also insert into such a message tag another tag for triggering map events and music cues. We call these "Map Tags".
  14.  
  15. Here are some examples, followed by the dictionary of map events you can trigger.
  16.  
  17.  
  18. <MSG36 = Engage.<FLYB=CloudyEarthBG;ByOut>>
  19. This map tag makes your ship fly toward you past the "CloudyEarthBG" artwork.
  20.  
  21. <MSG01 = Let's get under way. <SWAP=Target;BluePlanet_icon@HEAR=action>>
  22. This map tag makes the Target icon, which is normally an orange bracket, become a Blue Planet. This tag also causes the program to select an "action" style music cue and play it.
  23.  
  24. <MSG32 = <NSRT=parasites2> Captain! The crew lounge is being infested!>>
  25. This map tag plays the animation named "parasites2", temporarily covering the star map.
  26.  
  27. <MSG26 = <SPOT=romulan;754;470> We've encountered a Romulan border patrol. Shields up!>
  28. This map tag places a new icon, the "romulan" symbol, onto the map at coordinates 754x470. It will stay there until another tag elsewhere in the script is encountered saying <CANC=romulan>.
  29.  
  30.  
  31. Notice that you *nest* a map tag inside the MSG tag.
  32. The number of opening brackets and closing brackets must match.
  33. Only one map tag per MSG tag is possible. Use the @ symbol if you want more than one. No extra spaces please.
  34.  
  35. Other map tag examples
  36. <SWAP=Target;XYZ123_icon@SWAP=active_ship;icon> 
  37. <SPOT=romulan;754;470>
  38. <FLYB=EarthBG;ByOut>
  39. <SWAP=Target;DestMark_icon>
  40. <HEAR=action>
  41.  
  42.  
  43. ___________________________________________________________
  44. Map Tag Dictionary
  45.  
  46. ••-------------------------------------
  47. "HEAR" <HEAR=aStyle>
  48. Play a music cue 
  49. Replace aStyle with one of:
  50.     action  link  success  fail  open  process 
  51.  
  52. ••-------------------------------------
  53. "NSRT": <NSRT=aAnim>
  54. Insert-shot cutaway animations, star map switches to an animation 
  55. Replace aAnim with one of:
  56.     Asteroids   beam_algage  melt_ice   targetRange   blackHole
  57.     Decontaminate   locateSurfaceProbes   surfaceProbes2
  58.     KurlanDig   militarySurveillance   Minefield1   Minefield2
  59.     parasites1   parasites2   WormholeProbe
  60.  
  61.  
  62. ••-------------------------------------
  63. "FLYB"  <FLYB=aBackground;aMove>
  64. Like an "insert", star map temporarily switches to animation of your ship flying thru the frame 
  65.  
  66. Replace aBackground with:
  67.    DeadMoonBG     BluJupiterBG   SunBG    EarthBG
  68.    BluePlntBG     CloudyEarthBG   SmStarbaseBG    HotSunBG
  69.    BlueCircNebBG  BluCloudBG     PinkNebBG   StarfieldBG
  70.    GreenNebBG     orangeNebBG    pinkFlowerBG
  71. (If your ship is not at starbase and you have specified smStarbaseBG, the program will atuomatically use the generic StarfieldBG instead.)
  72.  
  73. Replace aMove with:
  74.     #ByOut  (ship moves out of the distance toward you, L to R)
  75.     #warp  (ship moves from the R foreground into the distance)
  76.  
  77.  
  78. ••-------------------------------------
  79. "SPOT"  <SPOT=anIcon;000;000>
  80. Places an icon on the map
  81. Not necessary for your ship, just other icons in the mission
  82. Replace anIcon with one of:
  83.     DestMark    the standard generic target (its ID is Target)
  84.     Federation
  85.     XYZ123    a prometheus ship
  86.     DeepS9     space station
  87.     HotRed     planet or star
  88.     Earth     planet
  89.     GasGiant     planet (jupiter)
  90.     RedPlanet     planet (mars)
  91.     BluePlanet     planet
  92.     Romulan    these are symbols of the various races
  93.     Borg
  94.     Bajoran
  95.     Cardassian
  96.     Dominion
  97.     Ferengi
  98.     Kazon
  99.     Klingon
  100.     Maquis
  101.  
  102. ••-------------------------------------
  103. "CANC" <CANC=romulan>
  104. Removes a previously SPOTted icon
  105.  
  106. ••-------------------------------------
  107. "SWAP"  <SWAP=aIDname;aState>
  108.  Changes the state of an existing Icon
  109.  
  110.     example: Target;XYZ123_icon OR activeShip;icon
  111.  
  112.     1st item   aIDname:   needs to be an established id name 
  113.       eg Target, Romulan, activeShip, CTN324 
  114.       (may use activeShip generically to indicate 
  115.        whichever shipID is "foreground" at the moment)
  116.       ("Target" is automatically assigned to the destination
  117.        location, and the "DestMark" icon - the orange 
  118.        bracket - is automatically placed. But you can change it.)
  119.           
  120.     2nd item   aState:  new art to use, either:
  121.         name_type ...selects any given art
  122.                   eg Romulan_boom
  123.     OR  type      ...selects type version of the IDname art
  124.          "icon" resets to base version of IDname art
  125.          "scan" shows the scan version of the IDname art (ships only)
  126.  
  127.      if you dont use the "_" character the program will assume you just want to change the version of the current art
  128. -o-
  129.  
  130.  
  131.  
  132.  
  133.  
  134. StarShip Mission Language
  135. 4.
  136. OVERLAYS
  137.  
  138.  
  139. "Headquarters Alerts"
  140.  
  141. Example:
  142. <MO_HQ_EV3 = What are our orders?,
  143.             #otherSpeaks,-,Return to base., #simOver,-,Stay there., #HQCmd3,>
  144.  
  145. Format:
  146. <MO_HQ_EVn = Text in the alert area,
  147.             #aCommand,optionalmessage,Text for the first button, #aCommand,optionalmessage,Text for the second button, #HQCmdn,>
  148.  
  149. where n is the arbitrary yet sequential number of this tag. Note that it appears in 2 places. (eg: MO_HQ_EV3 and #HQCmdn) You use the #HQCmd3 in the script somewhere to trigger the appearance of this box.
  150.  
  151. If you want only one button to appear make the "Text for the button" space void, ie, just the two commas. MO_HQ_EV4 in the sample above does this.
  152.  
  153.  
  154.  
  155. "Environments"
  156.  
  157. The Location Event tag is used to define a set of up to 10 events 
  158. that will be triggered by the ship crossing a specific point on the map
  159.  
  160. Example:
  161. <LEVTMAP = #blackHole,30,50,Black hole in area, #asteroid,80,100,Asteroid field,>
  162.  
  163. Format:
  164. <LEVTMAP = #aCommand,horizCoord,vertCoord,Text message,>
  165.  
  166. A valid horizCoord is 0 to 2000. A valid vertCoord is 0 to 1000.
  167.  
  168.  
  169. This Time Event tag is used to define a set of up to 10 events 
  170. that will be triggered at specific times relative to the start of a mission. 
  171. Time is expressed in ticks (60 ticks / sec)
  172.  
  173. Example:
  174. <TEVTMAP = #disengageWarpEng,9999,For some reason we just dropped out of warp!,>
  175. The format for this tag is similar to the Location Event tag, except the numerical value expected here is ticks, not a rectangle in space.
  176.  
  177.  
  178.  
  179. "Other Event Tags"
  180.  
  181. Unrecoverable failures. The System Failure tag is triggered by the simulator when it senses that the engineering staff is unable to repair anything. Typically used to trigger an alert box...
  182.  
  183. <MO_CO_SYSFAIL = #HQCmd3,-,>
  184.  
  185.  
  186. The Shields Malfunction response tag is triggered by the simulator when it senses that the shields are no longer able to protect the ship from externally-inflicted damage. This usually happens during a conflict. This example assumes that. If you have a script with no enemies, it is advisable to leave out the "fightEnemy" command in here!
  187.  
  188. <MO_CO_SMF = #otherSpeaks,The shields are going down. Keep fighting anyway.,#fightEnemy,-,>
  189.  
  190.  
  191.  
  192.  
  193. "Scans and Probes"
  194.  
  195. When you send a command to launch a probe or try a scan, such commands include parameters that specify points in space. These overlays "catch" those points and determine what if any feedback is given.
  196.  
  197. Example:
  198. <MO_SN_IR = 180,70,220,450,#something,Thermal emissions detected.;>
  199.  
  200. The command symbol #something will cause a positive result to be fed back. If you place a #nothing command there then the feedback is false. You may also use #debris, #interstellarDust, or #distortion to partially obscure the signal (debris has the least interfering effect distortion the most).
  201.  
  202. Example of that:
  203. <MO_SN_LR = 0400,0600,0500,0700,#interstellarDust,A cloud of microparticles is obscuring the signal.; 0400,0600,0500,0700,#something,Long range scan picks up a possible stellar fragment.;>
  204. If the ship's installed equipment is sensitive enough it will read "through" the layer of dust to see "something". Notice how the rectangles are identical.
  205.  
  206. The format for an scan-environment tag is:
  207.  
  208. <MO_SN_aa = L1,T1,R1,B1,cmd1,"dsp text1";L2,T2,R2,B2,cmd2,"dsp text 2;....;Ln,Tn,Rn,Bn,cmdn,"dsp testn>
  209.  
  210. where L=Left, T=Top, R=Right, B=Bottom which define a rectangle target
  211.  
  212. Only the tags that will be triggered by a scan request cmd that you have
  213. included within the main script need to be defined with specific data.
  214. For the ones that you are not using just place a null Rect (0,0,0,0) with #nothing cmd and blank message data.
  215.  
  216.  
  217.  
  218. "Conflict Resolution"
  219. or How to Pick a Fight...
  220.  
  221. If your starship encounters an alien ship during the execution of a mission (which you trigger with an #encounterAlien command) it will make use of a set of tags associated with conflict resolution. You will need to define these tags so that the starship will "know" how to conduct itself durring a conflict.
  222.  
  223. These tags may be omitted if your ship will never encounter an alien ship. 
  224.  
  225. The following is a set of suggested commands for each of the Mission Overlay Conflict Resolution tags. This set will produce a battle between the star ship and the enemy ship. (The MSGxx's are here as examples.)
  226.  
  227. Notice how each group of tags is read by the simulator in response to a particular command. Depending on conditions, one of the group of tags is selected by the simulator for execution.
  228.  
  229.  
  230. #encounterAlien evokes one of 3 possible response tags:
  231.  
  232. // 1 Enemy is Friendly
  233. <MO_CR_FC = #executeGoal,MSG39,>
  234.  
  235. // 2 Enemy is Hostile-- use the #hostile command to trigger #fightEnemy
  236. <MO_CR_HC = #otherSpeaks,MSG40,#hostile,-,>
  237.  
  238. // 3 Enemy Attacks you-- use the #attacked command to trigger #enemyFire
  239. <MO_CR_AC = #otherSpeaks,MSG41,#attacked,-,>
  240.  
  241.  
  242.  
  243. #enemyFire causes the enemy to be classified as either 
  244. Strong, Weak, or Damaged.
  245.  
  246. // if the enemy is Strong, you probably want to continue fighting:
  247. <MO_CR_SNG = #fightEnemy,MSG46,>
  248.  
  249. // if the enemy is Weak you can declare them destroyed
  250. <MO_CR_WEK = #targetDestroyed,MSG42,#goal1achieved,-,#closeMission,-,>
  251.  
  252. // if the enemy is Damaged you can declare them destroyed too
  253. <MO_CR_DMG = #targetDestroyed,MSG42,#goal1achieved,-,#closeMission,-,>
  254.  
  255. When the sim gets the #targetDestroyed command, the conflict ends.
  256.  
  257.  
  258.  
  259. #fightEnemy causes an attempt to #firePhasers
  260. If successful, one of these tags is selected:
  261.  
  262. //target is deemed Invincible.... 
  263. <MO_CR_INV =  #enemyFire,MSG47,> 
  264.  
  265. //targetDestroyed-->conflict ends
  266. <MO_CR_TD = #targetDestroyed,We have vaporized the invading vessel.,>
  267.  
  268. //targetDisabled-->conflict ends
  269. <MO_CR_TDA = #targetDisabled,The invading vessel is disabled and no longer a threat.,>
  270.  
  271. //targetImpacted-->automatically causes #enemyFire
  272. <MO_CR_TIP = #targetImpacted,We've done some damage to them.,>
  273.  
  274. //targetTouched or 'dented'-->automatically causes #enemyFire
  275. <MO_CR_TDNT = #targetTouched,Invading vessel barely felt that one.,>
  276.  
  277. //targetUnaffected-->automatically causes #enemyFire
  278. <MO_CR_TUNE = #targetUnaffected,Our firepower is having no effect.,>
  279.  
  280.  
  281. If Phasers arent ready, the sim looks for this tag to see what else it should do:
  282. <MO_CR_NOPHS = #firePhotonTorpedo, Phasers not online. Try a photon torpedo.,>
  283.  
  284. And if Photon Torpedos arent ready, the sim looks for this tag to see what else it should do...
  285. <MO_CR_NOPTP  =  #otherSpeaks,Torpedos not firing!,>
  286.  
  287. Or no Quantum Torpedos...
  288. <MO_CR_NOQTP  =  #otherSpeaks,Quantum torpedos offline.,>
  289.  
  290.  
  291. The core of a battle sequence is the exchange of #enemyFire and #fightEnemy commands. That happens automatically when the conflict resolution tags are written this way.
  292.  
  293.  
  294.  
  295. StarShip Mission Language
  296.  
  297. 5.
  298. IMPORTING YOUR MISSION
  299.  
  300. An importable mission script needs to start with a Mission Profile, which looks like this...
  301.  
  302. NAME=Take Position in Sector 8
  303. LEVEL=x
  304. ERA=x
  305. TYPE=Sample
  306. KEYS=Basic Equipment
  307. DESC=
  308. Fly to Sector 8 and request further instructions. Your mission will be successful if you can make it there.
  309. @
  310.  
  311. The labels in capitals, followed by the =, must be in the file just as shown, as lines of their own. The Level and Era lines need to be in there, but are ignored. It is helpful to others who may see your Mission to describe in "Keys" what critical systems will be use during the mission. 
  312.  
  313. Please do not use the @ character anywhere in your document except as the separator symbol, as described next.
  314.  
  315. Note how, in the "Sector8.txt" sample file in the Import folder, the mission profile text preceeds the actual script, separated by a lone @ on a line by itself (that is, type a <return>, then type @, then type another <return>).
  316.  
  317. Also, double check that if you have a comment line (one that starts with //) at the end of your script, there is a <return> following it.
  318.  
  319. The program expects to read a Plain Text document. Be sure you have saved it this way.
  320.  
  321. We recommended that the file be put in the Import folder that is in the same folder (ShipMain) as Starship Creator. (That is not essential however as a dialog box will prompt for the file's location.)  Once imported, the file is not needed by the program, so you can remove it from the Import folder, but keep it somewhere as a backup.
  322.  
  323. Adding the new script to your list of available missions happens on the FLEET screen. Use the Import Mission button.
  324.  
  325.  
  326. 9/27/1998
  327.  
  328.  
  329.